package com.qf.fmall2203.order.service.impl;

import com.qf.fmall2203.order.entity.Orders;
import com.qf.fmall2203.order.mapper.OrdersMapper;
import com.qf.fmall2203.order.service.IOrdersService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * 订单  服务实现类
 * </p>
 *
 * @author dongjl
 * @since 2023-02-17
 */
@Service
public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders> implements IOrdersService {


    @Transactional(rollbackFor = Exception.class)
    @Override
    public Map<String, Object> add(Integer[] cids, Orders orders) {

        //1. 查询用户购物车中的对应的商品套餐库存量是否还足够
        // 如果库存够，则继续下单流程；如果库存量不足，直接抛出异常;任何一个商品的库存不足都算失败

        //2. 生成唯一的订单编号

        //3. 生成订单主表（orders表）中的数据

        //4. 生成订单明细表的数据 （OrderItem表）
        // 购物车中有几条数据，订单明细表中就有几条数据

        //5. 删除用户购物车中的cids对应数据

        //6. 跟微信支付平台交互，获取可以支付的url

        //7. 组织返回的map数据

        final HashMap<String, Object> map = new HashMap<>();
        map.put("orderId","123455678");
        map.put("productNames","mimi");
        map.put("payUrl","http://www.baidu.com");

        return map;
    }
}
